home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 196_01 / bit78032.for < prev    next >
Text File  |  1985-11-13  |  2KB  |  66 lines

  1. C {BIT78032.FOR of JUGPDS Vol.19]
  2. Ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  3. C                                                                             c
  4. C         Gardner Number Table and g52,g53,g105                     c
  5. C                                                                              c
  6. C         g(n) = 2[llog2(n)], 1 <= n <= 105                                        c
  7. C                                                                             c
  8. C         Nano-Pico Kyositu BIT 78-03 (Vol.10,No.04) p88-89                       c
  9. C                             & 78-07 (Vol.10, No.8) p88                          c
  10. C                                                                             c
  11. C         transferred by Toshiya Ohta & Studio Gala 85-06-12                 c
  12. C                                                                             c
  13. C                                                                             c
  14. Ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  15. C
  16.       dimension it(105),imp(105),imq(105)
  17. C sosuuhyo it o tsukuru
  18.       do 1 i=1,105
  19.           it(i) = 1
  20.     1 continue
  21.       do 2 i=2,105
  22.           if (it(i).eq.0) goto 2
  23.           j = 2*i
  24.    25     if (j.gt.105) goto 2
  25.           it(j) = 0
  26.           j = j+i
  27.     2 continue
  28. C mondai 1 no kaitoo
  29.       iprime = 2
  30.       k1 = 2
  31.    35 k2 = 2*k1-1
  32.       if (k2.gt.105) k2 = 105
  33.       do 4 j=k1,k2
  34.           imp(j) = k1
  35.     4 continue
  36.       k1 = k2+1
  37.       if (k1.le.105) goto 35
  38.     3 continue
  39.       write(1,200) iprime
  40.   200 format(1h ,'Iprime =',i5)
  41.       do 33 i=1,105
  42.           write(1,201) i,imp(i)
  43.   201     format(1h ,'I = ',i4,i10)
  44.    33 continue
  45. C mondai 2 no kaitoo
  46.       do 5 iprime=3,105
  47.           if (it(iprime).eq.0) goto 5
  48.           do 50 i=iprime,105
  49.                imq(i) = imp(i)
  50.                ip = iprime
  51.    51          if (ip.eq.i) imr = ip
  52.                if (ip.gt.i) goto 52
  53.                     iwork = i-ip
  54.                     imr = ip*imp(iwork)
  55.    52          if (imr.gt.imq(i)) imq(i) = imr
  56.                ip = ip*iprime
  57.    50          if(ip.le.i) goto 51
  58.           do 60 i=iprime,105
  59.                imp(i) = imq(i)
  60.    60     continue
  61.     5 continue
  62.       write(1,100) imp(52),imp(53),imp(104),imp(105)
  63.   100 format(1h ,4(i15,2x))
  64.       stop
  65.       end
  66.